package servicioTraductores;

import DTOs.IdiomaDTO;
import java.util.HashMap;

/**
 * Interfaz adaptadora de apis a objetos de webservice con los que trabaja el traductor
 * @author overflow012
 */
public abstract class Servicio {

    protected String id;

    /**
     * Metodo encargado de traducir un texto desde su idioma original al idioma deseado.
     * @param textoOrigen -Texto a traducir
     * @param idIdiomaOrigen -Sigla del idioma del que parte la traducción
     * @param idIdiomaDestino -Sigla del idioma al que se desea la traducción
     * @return Texto traducido por el webservice
     * @throws Exception
     */
    abstract public String traducir(String textoOrigen, String idIdiomaOrigen, String idIdiomaDestino) throws Exception;

    /**
     *
     * @return Mapa de idiomas soportados por el webservice
     */
    abstract public HashMap<String, IdiomaDTO> getIdiomas();

    /**
     * 
     * @return Nombre único del webservice
     */
    public String getId() {
        return id;
    }
}
